package com.beasts.antpage.core.config.swagger;

import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import springfox.documentation.builders.ApiInfoBuilder;
//import springfox.documentation.builders.PathSelectors;
//import springfox.documentation.builders.RequestHandlerSelectors;
//import springfox.documentation.service.ApiInfo;
//import springfox.documentation.spi.DocumentationType;
//import springfox.documentation.spring.web.plugins.Docket;

/**
 * TODO Swagger 2
 *
 * @author Locker
 * @date 20/04/2018 5:02 PM
 * @since 1.0
 */
//@Configuration
public class Swagger2Config {

//    @Api：修饰整个类，描述Controller的作用
//    @ApiOperation：描述一个类的一个方法，或者说一个接口
//    @ApiParam：单个参数描述
//    @ApiModel：用对象来接收参数
//    @ApiProperty：用对象接收参数时，描述对象的一个字段
//    @ApiResponse：HTTP响应其中1个描述
//    @ApiResponses：HTTP响应整体描述
//    @ApiIgnore：使用该注解忽略这个API
//    @ApiError ：发生错误返回的信息
//    @ApiImplicitParam：一个请求参数
//    @ApiImplicitParams：多个请求参数

    @Value("${swagger.dev}")
    private boolean isDev;

    @Value("${swagger.package}")
    private String basePackage;

//    @Bean
//    public Docket createRestApi() {
//
//        if (isDev) {
//            return new Docket(DocumentationType.SWAGGER_2)
//                    .apiInfo(apiInfoDev())
//                    .select()
//                    .apis(RequestHandlerSelectors.basePackage(basePackage))
//                    .paths(PathSelectors.any())
//                    .build();
//        } else {
//            return new Docket(DocumentationType.SWAGGER_2)
//                    .apiInfo(apiInfoProd())
//                    .select()
////                    .apis(RequestHandlerSelectors.basePackage(basePackage))
//                    .paths(PathSelectors.none())
//                    .build();
//        }
//
//    }

    /**
     * 开发环境
     */
//    private ApiInfo apiInfoDev() {
//        return new ApiInfoBuilder()
//                .title("平台技术部-门户部 布局管理器 api文档 - 开发环境")
//                .description(" ")
//                .termsOfServiceUrl(" ")
//                .version("1.0")
//                .build();
//    }

    /**
     * 生产环境
     */
//    private ApiInfo apiInfoProd() {
//        return new ApiInfoBuilder()
//                .title("平台技术部-门户部 布局管理器 api文档")
//                .description(" ")
//                .termsOfServiceUrl(" ")
//                .version("1.0")
//                .build();
//    }

}
